

/*
The Impact of Political Apologies on Public Opinion
World Politics

Replication Code for Online Appendix

Contact for questions: jonathanchu88@gmail.com
*/


cd "[INSERT FILE DIRECTORY HERE]"

**************************************************************************
**************************************************************************
****************Replicating results from US survey: Appendix**************
**************************************************************************
**************************************************************************

clear
use US_Survey.dta



**********************Appendix I **************************
summ age, detail
tab female
tab partyid 
tab conservative3
tab education // 5 = 4Y college 6 = graduate degree


**********Appendix III **************************
mean female if treatgroup==1
mean female if treatgroup==2
mean female if treatgroup==3
mean female if treatgroup==4

mean age if treatgroup==1
mean age if treatgroup==2
mean age if treatgroup==3
mean age if treatgroup==4

mean income if treatgroup==1
mean income if treatgroup==2
mean income if treatgroup==3
mean income if treatgroup==4

mean republican3 if treatgroup==1
mean republican3 if treatgroup==2
mean republican3 if treatgroup==3
mean republican3 if treatgroup==4

mean conservative3 if treatgroup==1
mean conservative3 if treatgroup==2
mean conservative3 if treatgroup==3
mean conservative3 if treatgroup==4

mean white if treatgroup==1
mean white if treatgroup==2
mean white if treatgroup==3
mean white if treatgroup==4


**********Appendix IV**************************
tab pass_manipulation

**********Appendix V - results with and without weights**************************
reg dv_support200 i.treatgroup [pw = weights]
estimates store a

coefplot ///
(a, msymbol(square) msize(huge) mfcolor("2 105 168") color("2 105 168") ciopts(color("2 105 168") recast(rcap) )   ) ///
, ///
drop (_cons) ///
xscale(noextend) ///
title("Diff in Approval vs Stay Silent", size(medlarge) margin(medium) color(black) pos(7) ) ///
xlab (-10(10)60 ) ///
xline (0, lcolor(gray) lp(dash)) ///
ylab( 1 `" "Apologize" "No Remorse" "' 2 `" "Remorse" "No Apology" "' 3 `" "Apology" "w/ Remorse" "' , ///
labsize(medlarge) tlcolor(white) nogrid ) ///
yscale (lcolor(white)  ) ///
graphregion(fcolor(white) lcolor(white) ) bgcolor(white) ///
legend ( off) xsize(20) ysize(20) ///
name(US_main_weights, replace)

reg dv_support200 i.treatgroup
estimates store a

coefplot ///
(a, msymbol(square) msize(huge) mfcolor("2 105 168") color("2 105 168") ciopts(color("2 105 168") recast(rcap) )   ) ///
, ///
drop (_cons) ///
xscale(noextend) ///
title("Diff in Approval vs Stay Silent", size(medlarge) margin(medium) color(black) pos(7) ) ///
xlab (-10(10)60 ) ///
xline (0, lcolor(gray) lp(dash)) ///
ylab( 1 `" "Apologize" "No Remorse" "' 2 `" "Remorse" "No Apology" "' 3 `" "Apology" "w/ Remorse" "' , ///
labsize(medlarge) tlcolor(white) nogrid ) ///
yscale (lcolor(white)  ) ///
graphregion(fcolor(white) lcolor(white) ) bgcolor(white) ///
legend ( off) xsize(20) ysize(20) ///
name(US_main_noweights, replace)


**********Appendix VII**************************
corr conservative3 soc_dom_3 nat3 ben_us_3

reg dv_support200 conservative3 t_apology cons3_t_apology t_remorse cons3_t_remorse
reg dv_support200 conservative3 t_apology cons3_t_apology t_remorse cons3_t_remorse ///
ben_us_3

reg dv_support200 soc_dom_3 t_apology sd3_t_apology t_remorse sd3_t_remorse
reg dv_support200 soc_dom_3 t_apology sd3_t_apology t_remorse sd3_t_remorse  ///
ben_us_3

reg dv_support200 nat3 t_apology nat3_t_apology t_remorse nat3_t_remorse if t_historical ==1
reg dv_support200 nat3 t_apology nat3_t_apology t_remorse nat3_t_remorse ///
ben_us_3

reg dv_support200 ben_us_3 t_apology ben_us3_t_apology t_remorse ben_us3_t_remorse // sig on apology
reg dv_support200 ben_us_3 t_apology ben_us3_t_apology t_remorse ben_us3_t_remorse ///
conservative3 soc_dom_3 nat3




**************************************************************************
**************************************************************************
****************Replicating results from Japan survey: Appendix***********
**************************************************************************
**************************************************************************

clear
use Japan_Survey.dta


**********************Appendix I **************************
summ age, detail
tab female
tab partyid // 1= LDP 10 = No Affilitation
tab conservative3


**********************Appendix III **************************
mean female if treatgroup==1 & t_jpn_us_scenario==1
mean female if treatgroup==2 & t_jpn_us_scenario==1
mean female if treatgroup==3 & t_jpn_us_scenario==1
mean female if treatgroup==4 & t_jpn_us_scenario==1

mean age if treatgroup==1 & JPN_US_scenario==1
mean age if treatgroup==2 & JPN_US_scenario==1
mean age if treatgroup==3 & JPN_US_scenario==1
mean age if treatgroup==4 & JPN_US_scenario==1

mean income if treatgroup==1 & JPN_US_scenario==1
mean income if treatgroup==2 & JPN_US_scenario==1
mean income if treatgroup==3 & JPN_US_scenario==1
mean income if treatgroup==4 & JPN_US_scenario==1

mean ldp if treatgroup==1 & JPN_US_scenario==1
mean ldp if treatgroup==2 & JPN_US_scenario==1
mean ldp if treatgroup==3 & JPN_US_scenario==1
mean ldp if treatgroup==4 & JPN_US_scenario==1

mean conservative3 if treatgroup==1 & JPN_US_scenario==1
mean conservative3 if treatgroup==2 & JPN_US_scenario==1
mean conservative3 if treatgroup==3 & JPN_US_scenario==1
mean conservative3 if treatgroup==4 & JPN_US_scenario==1


*southkorea
mean female if treatgroup_sk==1
mean female if treatgroup_sk==2
mean female if treatgroup_sk==3
mean female if treatgroup_sk==4

mean age if treatgroup_sk==1
mean age if treatgroup_sk==2
mean age if treatgroup_sk==3
mean age if treatgroup_sk==4

mean income if treatgroup_sk==1
mean income if treatgroup_sk==2
mean income if treatgroup_sk==3
mean income if treatgroup_sk==4

mean ldp if treatgroup_sk==1
mean ldp if treatgroup_sk==2
mean ldp if treatgroup_sk==3
mean ldp if treatgroup_sk==4

mean conservative3 if treatgroup_sk==1
mean conservative3 if treatgroup_sk==2
mean conservative3 if treatgroup_sk==3
mean conservative3 if treatgroup_sk==4

**********Appendix IV**************************
tab pass_manipulation

**********************Appendix VI **************************
reg dv_support200_us t_apology_us t_remorse_us if nat3==1  
estimates store a
reg dv_support200_us t_apology_us t_remorse_us if nat3==2 
estimates store b
reg dv_support200_us t_apology_us t_remorse_us if nat3==3 
estimates store c


coefplot ///
(a, label(Low Nationalism) msymbol(square) msize(huge) color(red*0.5) ciopts(color("217 33 33") recast(rcap) )  ) ///
(b, label(Med Nationalism)  msymbol(square) msize(huge) color(red*1.1) ciopts(color("217 33 33") recast(rcap) )  ) ///
(c, label(High Nationalism)  msymbol(square) msize(huge) color(red*1.5) ciopts(color("217 33 33") recast(rcap) )  ) ///
, ///
drop (_cons) ///
xscale(noextend) ///
title("Change in Approval", margin(medium)  size(large) color(black) pos(6) ) ///
xlab (-10(10)50 , labsize(medlarge) ) ///
xline (0, lcolor(gray) lp(dash)) ///
ylab( 1 `" "Apology" "Effect" "' 2 `" "Remorse" "Effect" "'  , ///
labsize(large) tlcolor(white) nogrid ) ///
yscale (lcolor(white)  ) ///
graphregion(fcolor(white) lcolor(white) margin(r=10 l=10) ) bgcolor(white) ///
legend ( position(11) region( lcolor(white) ) col(1) size(medlarge) ) xsize(15) ysize(20) ///
name(JPN_US_nationalism, replace)


reg dv_support200_us t_apology_us t_remorse_us if conservative3==1  
estimates store a
reg dv_support200_us t_apology_us t_remorse_us if conservative3==2 
estimates store b
reg dv_support200_us t_apology_us t_remorse_us if conservative3==3 
estimates store c

coefplot ///
(a, label(Liberal) msymbol(square) msize(huge) color(red*0.5) ciopts(color("217 33 33") recast(rcap) )  ) ///
(b, label(Moderate)  msymbol(square) msize(huge) color(red*1.1) ciopts(color("217 33 33") recast(rcap) )  ) ///
(c, label(Conservative)  msymbol(square) msize(huge) color(red*1.5) ciopts(color("217 33 33") recast(rcap) )  ) ///
, ///
drop (_cons) ///
xscale(noextend) ///
title("Change in Approval", margin(medium)  size(large) color(black) pos(6) ) ///
xlab (-10(10)50 , labsize(medlarge) ) ///
xline (0, lcolor(gray) lp(dash)) ///
ylab( 1 `" "Apology" "Effect" "' 2 `" "Remorse" "Effect" "'  , ///
labsize(large) tlcolor(white) nogrid ) ///
yscale (lcolor(white)  ) ///
graphregion(fcolor(white) lcolor(white) margin(r=10 l=10) ) bgcolor(white) ///
legend ( position(11) region( lcolor(white) ) col(1) size(medlarge) ) xsize(15) ysize(20) ///
name(JPN_US_conservative, replace)


reg dv_support200_us t_apology_us t_remorse_us if soc_dom_3==1  
estimates store a
reg dv_support200_us t_apology_us t_remorse_us if soc_dom_3==2 
estimates store b
reg dv_support200_us t_apology_us t_remorse_us if soc_dom_3==3 
estimates store c

coefplot ///
(a, label(Low SD) msymbol(square) msize(huge) mfcolor("2 105 168") color("2 105 168") ciopts(color("2 105 168") recast(rcap) )   ) ///
(b, label(Med SD)  msymbol(square) msize(huge) mfcolor("255 165 0") color("255 165 0") ciopts(color("255 165 0") recast(rcap) )   ) ///
(c, label(High SD)  msymbol(square) msize(huge) mfcolor("217 33 33") color("217 33 33") ciopts(color("217 33 33") recast(rcap) )  ) ///
, ///
drop (_cons) ///
xscale(noextend) ///
title("Change in Approval", size(medlarge) margin(medium) color(black) pos(6) ) ///
xlab (-10(10)50 ) ///
xline (0, lcolor(gray) lp(dash)) ///
ylab( 1 `" "Apology" "Effect" "' 2 `" "Remorse" "Effect" "'  , ///
labsize(medlarge) tlcolor(white) nogrid ) ///
yscale (lcolor(white)  ) ///
graphregion(fcolor(white) lcolor(white) ) bgcolor(white) ///
legend ( position(11) region( lcolor(white) ) col(1)) xsize(15) ysize(20) ///
name(JPN_US_socdom, replace)


reg dv_support200_us t_apology_us t_remorse_us if ben_jpn_3==1  
estimates store a
reg dv_support200_us t_apology_us t_remorse_us if ben_jpn_3==2 
estimates store b
reg dv_support200_us t_apology_us t_remorse_us if ben_jpn_3==3 
estimates store c

coefplot ///
(a, label(Small Benefit) msymbol(square) msize(huge) mfcolor(ebblue*0.5) color(ebblue*0.5) ciopts(color(ebblue*0.5) recast(rcap) )  ) ///
(b, label(Medium Benefit) msymbol(square) msize(huge) mfcolor(ebblue*0.9) color(ebblue*0.9) ciopts(color(ebblue*0.9) recast(rcap) )   ) ///
(c, label(Large Benefit) msymbol(square) msize(huge) mfcolor(ebblue*1.5) color(ebblue*1.5) ciopts(color(ebblue*1.5) recast(rcap) )   ) ///
, ///
drop (_cons) ///
xscale(noextend) ///
title("Change in Approval", size(medlarge) margin(medium) color(black) pos(6) ) ///
xlab (-10(10)40 ) ///
xline (0, lcolor(gray) lp(dash)) ///
ylab( 1 `" "Apology" "Effect" "' 2 `" "Remorse" "Effect" "'  , ///
labsize(medlarge) tlcolor(white) nogrid ) ///
yscale (lcolor(white)  ) ///
graphregion(fcolor(white) lcolor(white) ) bgcolor(white) ///
legend ( position(11) region( lcolor(white) ) col(1)) xsize(15) ysize(20) ///
name(US_bene_us, replace)



**********************Appendix VII **************************
corr nat3 soc_dom_3 conservative3 sk_benefit_jpn3

reg dv_support200_sk nat3 t_apology_sk nat3_t_apology_sk t_remorse_sk nat3_t_remorse_sk
reg dv_support200_sk nat3 t_apology_sk nat3_t_apology_sk t_remorse_sk nat3_t_remorse_sk ///
sk_benefit_jpn3 

reg dv_support200_sk soc_dom_3 t_apology_sk sd3_t_apology_sk t_remorse_sk sd3_t_remorse_sk ///
reg dv_support200_sk soc_dom_3 t_apology_sk sd3_t_apology_sk t_remorse_sk sd3_t_remorse_sk ///
sk_benefit_jpn3 

reg dv_support200_sk conservative3 t_apology_sk t_apology_sk_cons3 t_remorse_sk t_remorse_sk_cons3
reg dv_support200_sk conservative3 t_apology_sk t_apology_sk_cons3 t_remorse_sk t_remorse_sk_cons3 ///
sk_benefit_jpn3

reg dv_support200_sk t_apology_sk t_remorse_sk sk_benefit_jpn3 t_apology_sk_benefit_jpn3 t_remorse_sk_be
reg dv_support200_sk t_apology_sk t_remorse_sk sk_benefit_jpn3 t_apology_sk_benefit_jpn3 t_remorse_sk_be ///
conservative3 soc_dom_3 nat3


